<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page
	import="org.ejb.entities.*,org.ejb.api.*, javax.naming.*, java.util.*"%>

<%
  Utilisateur u1,u2;
  Annonce a1;
  Abonnement abonnement;
  
  List<Utilisateur> list = new ArrayList<Utilisateur>();
  UtilisateurInterface serviceRemoteUtilisateur=null ;
  AbonnementInterface serviceRemoteAbonnement = null;
  
  //AnnonceInterface serviceAnnonce = null;
  //String nom,prenom,email,password,gender,balance,telephone,s8_1,s8_2,s8_3,s8_4,detail;
  String nom,prenom,email,password,gender,balance,telephone,s8_1,s8_2,s8_3,s8_4,detail,description;
  

  try{
  InitialContext ic = new InitialContext();
  serviceRemoteUtilisateur = (UtilisateurInterface) ic.lookup("org.ejb.stateless.UtilisateurStateless@Remote");
  
  InitialContext icAbonnement = new InitialContext();
  serviceRemoteAbonnement = (AbonnementInterface) icAbonnement.lookup("org.ejb.stateless.AbonnementStateless@Remote");

  System.out.println("Loaded Utilisateur Bean");
  System.out.println("Loaded Annonce Bean");
  System.out.println("Loaded Abonnement Bean");

  } catch (Exception ex) {
  System.out.println("Error:"+
  ex.getMessage());
  }

  // le code test pour l'utilisateur et Address et Annonce
//   try {
//   	 nom = request.getParameter("nom");
//   	 prenom = request.getParameter("prenom");
// 	 email = request.getParameter("email");
//   	 password = request.getParameter("password");
//      gender = request.getParameter("gender");
// 	 balance = request.getParameter("balance");
// 	 telephone = request.getParameter("telephone");
// 	 s8_1 = request.getParameter("street");
// 	 s8_2 = request.getParameter("city");
// 	 s8_3 = request.getParameter("country");
// 	 s8_4 = request.getParameter("zipcode");
// 	 detail = request.getParameter("detail");
	 
// 	 System.out.println("input sont bien charge *********");
// //   s11 = request.getParameter("dateofBirth"); 
  
//   if ( nom != null && prenom != null) {
// 	  System.out.println("le boucle if if if if if if if if *********");
// 	  Integer balance_integer = Integer.parseInt(balance);
// 	  Utilisateur user = new Utilisateur(nom,prenom,email,password,gender,telephone,balance_integer);
// 	  System.out.println("l'Utilisateur est bien cree *********");
// 	  Address address = new Address();
// 	  System.out.println("l'Address est bien cree *********");
// 	  address.setStreet1(s8_1);
// 	  address.setCity(s8_2);(int i=0; i<list.size(); i++)    {   
			     
// 	  address.setCountry(s8_3);
// 	  address.setZipCode(s8_4);
// 	  System.out.println("l'Address est bien mise a jour *********");
// 	  u1 = serviceRemoteUtilisateur.createCustomer(user,address);
// 	  System.out.println("l'Utilisateurbean est bien cree *********");
// //  	  Integer id = 10;
// //  	  long uid = id.longValue();
// //  	  u2 = serviceRemoteUtilisateur.findCustomer(uid);
// // 	  serviceRemoteUtilisateur.deleteCustomer(userfind);
	  
// 	  // test d'un annonce
// 	  Date date = new Date();
// 	  Annonce annonce = new Annonce(detail,date);
// 	  System.out.println("l'Annonce est bien cree *********");
// 	  Annonce annonce2 = new Annonce(detail,date);
// 	  serviceRemoteUtilisateur.ajouteAnnonce(u1, annonce);
// 	  serviceRemoteUtilisateur.ajouteAnnonce(u1, annonce2);
	  
// 	  System.out.println("l'Annonce attache un utilisteur *********");
// 	  System.out.println("Record added:lllllllllll");
	  
	  try {
		  	 nom = request.getParameter("nom");
		  	 prenom = request.getParameter("prenom");
			 email = request.getParameter("email");
		  	 password = request.getParameter("password");
		     gender = request.getParameter("gender");
			 balance = request.getParameter("balance");
			 telephone = request.getParameter("telephone");
			 s8_1 = request.getParameter("street");
			 s8_2 = request.getParameter("city");
			 s8_3 = request.getParameter("country");
			 s8_4 = request.getParameter("zipcode");
			 detail = request.getParameter("detail");
			 description = request.getParameter("description");
			 
			 System.out.println("input sont bien charge *********");
		  
		  if ( nom != null && prenom != null) {
			  System.out.println("le boucle if if if if if if if if *********");
			  Integer balance_integer = Integer.parseInt(balance);
			  Utilisateur user = new Utilisateur(nom,prenom,email,password,gender,telephone,balance_integer);
			  System.out.println("l'Utilisateur est bien cree *********");
			  
			  // test d'address
			  Address address = new Address();
			  System.out.println("l'Address est bien cree *********");
			  address.setStreet1(s8_1);
			  address.setCity(s8_2);
			  address.setCountry(s8_3);
			  address.setZipCode(s8_4);
			  System.out.println("l'Address est bien mise a jour *********");
			  Address a2 =  new Address();
			  a2.setStreet1("nouveau Street");
			  a2.setCity("nouveau city");
			  a2.setCountry("nouveau country");
			  a2.setZipCode("73000");
			  System.out.println("nouveau address est bien cree");
			  u1 = serviceRemoteUtilisateur.createCustomer(user,address);
			  u2 = serviceRemoteUtilisateur.createCustomer(user,address);
			  System.out.println("l'Utilisateurbean est bien cree *********");

// 			  Location l1= new Location();
// 			  serviceRemoteUtilisateur.ajouteLocation(u1, l1);
// 			  System.out.println("location est bien persiste *********");

			 
			  
			  // test d'un annonce
// 			  Date date = new Date();
// 			  Annonce annonce = new Annonce(detail,date);
// 			  System.out.println("l'Annonce est bien cree *********");
// 			  Annonce annonce2 = new Annonce(detail,date);
// 			  serviceRemoteUtilisateur.ajouteAnnonce(u1, annonce);
// 			  serviceRemoteUtilisateur.ajouteAnnonce(u1, annonce2);
			  
// 			  System.out.println("l'Annonce attache un utilisteur *********");
				
			  // test pour abonnement
			  //Abonnement abonnement = new Abonnement(description);
// 			  Integer perCentReduction = 10;
// 			  abonnement = serviceRemoteAbonnement.createAbonnement(description, perCentReduction);
// 			  System.out.println("Abonnement est bien cree");
// 			  serviceRemoteAbonnement.commandeAbonnement(u1, abonnement);
// 			  System.out.println("u1 est bien commande un abonnement cree");
// 			  serviceRemoteAbonnement.commandeAbonnement(u2, abonnement);
// 			  System.out.println("u2 est bien commande un abonnement cree");
// 			  serviceRemoteUtilisateur.updateCustomer(u1, a2);
// 			  System.out.println("Record added:lllllllllll");
// 			  list = serviceRemoteUtilisateur.findCustomersList();
// 			  for(int i=0; i<list.size(); i++)    {   
// 			       Utilisateur u = list.get(i);   
// 			       System.out.println(u.getFirstname());
// 			   }   
 %>
  <p>Utilisateur data est bien enregisté!</b></p>
  <%
  }
  
  }// end of try
  catch (Exception e) {
  e.printStackTrace ();
  }
  %>